Telegram Group & Telegram Channel
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 Задача: Что делает эта загадочная функция paradox и почему она называется так?


def paradox(n):
def f(x):
return ((x * x) % n + x) % n

slow = fast = 0
while True:
slow = f(slow)
fast = f(f(fast))
if slow == fast:
return slow

print(paradox(31337))


На первый взгляд — простой цикл с двумя указателями: slow и fast.
Но на деле это алгоритм Флойда ("заяц и черепаха"), используемый для нахождения цикла в псевдослучайной последовательности.

📌 Функция f(x):

Простая квадратичная функция, по сути — генератор псевдослучайных чисел по модулю n.

📌 Что происходит:

slow движется на 1 шаг за итерацию: f(x)

fast — на 2 шага: f(f(x))

Как только slow == fast, цикл найден — значит, последовательность начала повторяться.

🔍 Почему это парадокс?

Потому что вы начинаете с 0, вычисляете кучу якобы "случайных" значений, и внезапно обнаруживаете цикличность в хаосе.

Вы не знаете длину цикла, период или точку входа, но находите пересечение без хранения всей истории.

💡 Эта техника используется в:

криптографии (Pollard's rho для факторизации),

генерации чисел,

распознавании псевдопериодов,

хаотических системах.

🎯 Челлендж для продвинутых:

Измените f(x) на pow(x, 3, n) — как это повлияет на цикл?

Реализуйте поиск начала цикла и длины периода, используя Флойда + Брента.

Придумайте, как использовать это для взлома слабых генераторов случайных чисел.

🧠 Эта задача не просто про числа — она про границу между случайным и детерминированным.
Please open Telegram to view this post
VIEW IN TELEGRAM



tg-me.com/pythonl/4853
Create:
Last Update:

🖥 Задача: Что делает эта загадочная функция paradox и почему она называется так?


def paradox(n):
def f(x):
return ((x * x) % n + x) % n

slow = fast = 0
while True:
slow = f(slow)
fast = f(f(fast))
if slow == fast:
return slow

print(paradox(31337))


На первый взгляд — простой цикл с двумя указателями: slow и fast.
Но на деле это алгоритм Флойда ("заяц и черепаха"), используемый для нахождения цикла в псевдослучайной последовательности.

📌 Функция f(x):

Простая квадратичная функция, по сути — генератор псевдослучайных чисел по модулю n.

📌 Что происходит:

slow движется на 1 шаг за итерацию: f(x)

fast — на 2 шага: f(f(x))

Как только slow == fast, цикл найден — значит, последовательность начала повторяться.

🔍 Почему это парадокс?

Потому что вы начинаете с 0, вычисляете кучу якобы "случайных" значений, и внезапно обнаруживаете цикличность в хаосе.

Вы не знаете длину цикла, период или точку входа, но находите пересечение без хранения всей истории.

💡 Эта техника используется в:

криптографии (Pollard's rho для факторизации),

генерации чисел,

распознавании псевдопериодов,

хаотических системах.

🎯 Челлендж для продвинутых:

Измените f(x) на pow(x, 3, n) — как это повлияет на цикл?

Реализуйте поиск начала цикла и длины периода, используя Флойда + Брента.

Придумайте, как использовать это для взлома слабых генераторов случайных чисел.

🧠 Эта задача не просто про числа — она про границу между случайным и детерминированным.

BY Python/ django


Share with your friend now:
tg-me.com/pythonl/4853

View MORE
Open in Telegram


Python django Telegram | DID YOU KNOW?

Date: |

The seemingly negative pandemic effects and resource/product shortages are encouraging and allowing organizations to innovate and change.The news of cash-rich organizations getting ready for the post-Covid growth economy is a sign of more than capital spending plans. Cash provides a cushion for risk-taking and a tool for growth.

China’s stock markets are some of the largest in the world, with total market capitalization reaching RMB 79 trillion (US$12.2 trillion) in 2020. China’s stock markets are seen as a crucial tool for driving economic growth, in particular for financing the country’s rapidly growing high-tech sectors.Although traditionally closed off to overseas investors, China’s financial markets have gradually been loosening restrictions over the past couple of decades. At the same time, reforms have sought to make it easier for Chinese companies to list on onshore stock exchanges, and new programs have been launched in attempts to lure some of China’s most coveted overseas-listed companies back to the country.

Python django from us


Telegram Python/ django
FROM USA